﻿using System.ServiceModel;

namespace ExplorerService.Common.ServiceContracts
{
    [ServiceContract]
    public interface IClientStreamingServiceCallback
    {
        /// <summary>
        /// Calls the client for the next upload stream chunk
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        byte[] GetNextChunk();

        /// <summary>
        /// Signals new chunk available for download stream
        /// </summary>
        [OperationContract(IsOneWay = true)]
        void DownloadStreamChunkAvailable(byte[] chunk, long bytesLeft);
    }
}